package alkuperainen;
import java.util.ArrayList;


public class Ajanhallinta implements java.io.Serializable{
	private ArrayList<Kurssi> kaikkiKurssit;
	private ArrayList<Opiskelija> kaikkiOpiskelijat;
	private Kirjuri kirjuri = new Kirjuri();
	
	public Ajanhallinta(){
		kaikkiKurssit = new ArrayList<Kurssi>();
		kaikkiOpiskelijat = new ArrayList<Opiskelija>();
		/*
		//testej�
		Kurssi k1 = new Kurssi("ohtu", 1, 4, 1, 1, 2011, 2, 2, 2011);
		Kurssi k2 = new Kurssi("ohpe", 2, 4, 2, 2, 2011, 3, 3, 2011);
		Kurssi k3 = new Kurssi("ohma", 3, 4, 2, 2, 2011, 3, 3, 2011);
		Opiskelija o1 = new Opiskelija("A", 1);
		Opiskelija o2 = new Opiskelija("B", 2);
		Opiskelija o3 = new Opiskelija("C", 3);
		
		kaikkiKurssit.add(k1);
		kaikkiKurssit.add(k2);
		kaikkiKurssit.add(k3);
		kaikkiOpiskelijat.add(o1);
		kaikkiOpiskelijat.add(o2);
		kaikkiOpiskelijat.add(o3);
		o1.lisaaIlmoittautuminen(k1);
		o1.lisaaSuoritus(k2);
		o1.lisaaSuoritus(k3);
		o2.lisaaIlmoittautuminen(k1);
		o2.lisaaIlmoittautuminen(k3);
		o3.lisaaSuoritus(k2);
		
		//public Tapahtuma (String nimi, String paikka, int tyyppi, int paiva, int alkuaikaTunnit, int alkuaikaMinuutit, int alkupaiva, int alkukuu, int alkuvuosi, int loppuaikaTunnit, int loppuaikaMinuutit, int loppupaiva, int loppukuu, int loppuvuosi){
		Tapahtuma t1 = new Tapahtuma("Ohtu Luento", "A111", 1, 10, 15, 1, 1, 2011, 11, 00, 1, 5, 2011);
		Tapahtuma t2 = new Tapahtuma("Ohtu Luento", "A111", 1, 12, 15, 3, 1, 2011, 13, 59, 3, 5, 2011);
		Tapahtuma t3 = new Tapahtuma("Ohtu Luento", "A111", 1, 12, 15, 2, 1, 2011, 13, 59, 3, 5, 2011);
		
		k1.lisaaTapahtuma(t1);
		k1.lisaaTapahtuma(t2);
		k1.lisaaTapahtuma(t3);
		*/
		kaikkiKurssit = kirjuri.lueKurssitTiedostosta();
		kaikkiOpiskelijat = kirjuri.lueOpiskelijatTiedostosta();
	}
	
	public Kurssi luoKurssi(String nimi, int kurssinro, int op, int alkupaiva, int alkukuu, int alkuvuosi, int loppupaiva, int loppukuu, int loppuvuosi){
		Kurssi k = new Kurssi(nimi, kurssinro, op, alkupaiva, alkukuu, alkuvuosi, loppupaiva, loppukuu, loppuvuosi);
		kaikkiKurssit.add(k);
		return k;
	}
	
	public Opiskelija luoOpiskelija(String nimi, int opnro){
		Opiskelija o = new Opiskelija(nimi, opnro);
		kaikkiOpiskelijat.add(o);
		return o;
	}
	
	public ArrayList<Kurssi> getKaikkiKurssit(){
		return kaikkiKurssit;
	}
	
	public ArrayList<Opiskelija> getKaikkiOpiskelijat(){
		return kaikkiOpiskelijat;
	}
	
	public void poistaKurssi(int sijainti) {
		kaikkiKurssit.remove(sijainti);
	}
	
	public void tallenna() {
		kirjuri.kirjoitaKurssitTiedostoon(kaikkiKurssit);
		kirjuri.kirjoitaOpiskelijatTiedostoon(kaikkiOpiskelijat);
		return;
	}
	
	public boolean vieHTML(Opiskelija o, String tiedostopolku){
		return kirjuri.exportHTML(o, tiedostopolku);
	}
}
